package Person.ith_21;

import java.io.FileNotFoundException;
import java.io.IOException;

/*throw关键字  处理异常
用途：声明异常  交给别人处理
作用：
当方法内部抛出异常对象，那么我们必须处理这个异常，吧异常对象以声明的方式抛出给方法的调用者
方法格式：
方法的声明处使用
格式
修饰符  返回值类型 方法名（参数列表） throws AAAException ,BBBException......{

throw new AAAExxception("产生原因");
throw new BBBException("产生原因");

}
*
* */
public class ExceptionDemo03 {
    public static void main(String[] args) throws IOException {
        /*
        * 既然调用了声明抛出异常，要么继续使用throws,异常对象抛给了JVM,
        * 要么 try catch
        * */
readFile("c:\\\\a.txt");
/*
* \反斜杠  在java中代表时  转义字符
* 让他代表反斜杠  \\
* */
    }
    /*定义一个方法，对传递的文件路径进行合法性判断
    如果不是“c:\\a.txt”,那么我们就抛出文件找不到异常对象，告知方法的调用者

    * */

    public static void readFile(String fileName) throws FileNotFoundException,IOException{
        if(!fileName.equals("c:\\a.txt"))
        {
            throw new FileNotFoundException("传递的文件不是c:\\a.txt");
        }
        /*
        * 如果文件的后缀名不是.txt 就抛出IOException异常
        *
        *
        * */
        if(fileName.endsWith(".txt")){
            throw new IOException("文件的后缀名不是.txt");
        }
        System.out.println("路径没有问题，读取文件");
    }
}
